package com.osdp.uc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.osdp.uc.dto.PositionDTO;
import com.osdp.uc.entity.UcPosition;
import com.osdp.uc.vo.UcPositionVo;

import java.util.List;

public interface IUcPositionService extends IService<UcPosition> {
    /**
     * 岗位管理分页查询
     * @param positionVo UcPositionVo
     * @param page Page<UcPosition>
     * @return
     */
    IPage<UcPositionVo> pageListByOrgId(UcPositionVo positionVo, Page<UcPosition> page);
    /**
     * 岗位分页查询
     * @param positionVo
     * @param page
     * @return
     */
    IPage<UcPositionVo> pageList(UcPositionVo positionVo, Page<UcPosition> page);

    /**
     * 用于岗位选择的分页主界面，显示部门名称，职务名称
     * @param positionVo
     * @param page
     * @return
     */
    IPage<UcPositionVo> selectPositionPageList(UcPositionVo positionVo, Page<UcPosition> page);

    /**
     * 岗位新增
     * @param positionVo
     * @return
     */
    boolean insertPosition(UcPositionVo positionVo);

    /**
     * 岗位修改
     * @param positionVo
     * @return
     */
    boolean updatePosition(UcPositionVo positionVo);

    /**
     *
     * @param id
     * @return
     */
    UcPositionVo getByPositionId(String id);

    /**
     *
     * @param id
     * @return
     */
    boolean deletePosition(String id);

    /**
     *
     * @param ids
     * @return
     */
    boolean deleteBatcah(List<String> ids);

    /**
     * 根据用户ID对应的岗位信息
     * @param userId
     * @return List<PositionVo>
     */
    List<PositionDTO> queryPositionByUserId(String userId);

    /**
     * 根据ID批量查询
     * @param ids
     * @return
     */
    List<UcPosition>  queryPositionByIds(List<String> ids);
}
